package com.SRMS.common;

import com.SRMS.domain.*;

import java.io.Serializable;
import java.util.List;

/**
 * @author Albert
 * @version 1.0
 * @date 2023/12/24-0:51
 * @describe 表示客户端和服务端通讯的一个消息对象
 */
public class Message implements Serializable {
    private  static final long serialVersionUID = 1L;//保证兼容性
    private String mesType;//消息类型【可以在接口定义消息类型】
    private String sender;//发送者
    private List<StudyRoom> studyRoomList;//自习室列表
    private RightToUseStudyRoom rightToUseStudyRoom;//使用权
    private String studyRoomId;//自习室编号
    private StudyRoom studyRoom;//自习室
    private int remainingSeats;//剩余座位数
    private boolean result;//执行结果
    private RoomForStudent roomForStudent;//学生可查看的申请到的自习室信息
    private List<HistoryForStudent> historyForStudentList;//学生查看自己的自习室历史使用记录
    private List<RightRecord> rightRecords;//管理员申请的所有的使用权信息
    private String studentId;//学生的学号
    private String revokeReason;//撤销原因
    private List<RevokeRecordForAdmin> revokeRecordForAdmins;//管理员可查看的撤销记录列表
    private Student student;//管理员需要查询的学生
    private List<Student> students;//管理员需要查询的学生列表
    private List<HistoryOfRoomUsage> historyOfRoomUsages;//管理员需要查询的自习室历史使用记录表

    public List<HistoryOfRoomUsage> getHistoryOfRoomUsages() {
        return historyOfRoomUsages;
    }

    public void setHistoryOfRoomUsages(List<HistoryOfRoomUsage> historyOfRoomUsages) {
        this.historyOfRoomUsages = historyOfRoomUsages;
    }

    public List<Student> getStudents() {
        return students;
    }

    public void setStudents(List<Student> students) {
        this.students = students;
    }

    public Student getStudent() {
        return student;
    }

    public void setStudent(Student student) {
        this.student = student;
    }

    public List<RevokeRecordForAdmin> getRevokeRecordForAdmins() {
        return revokeRecordForAdmins;
    }

    public void setRevokeRecordForAdmins(List<RevokeRecordForAdmin> revokeRecordForAdmins) {
        this.revokeRecordForAdmins = revokeRecordForAdmins;
    }

    public String getRevokeReason() {
        return revokeReason;
    }

    public void setRevokeReason(String revokeReason) {
        this.revokeReason = revokeReason;
    }

    public String getStudentId() {
        return studentId;
    }

    public void setStudentId(String studentId) {
        this.studentId = studentId;
    }

    public List<RightRecord> getRightRecords() {
        return rightRecords;
    }

    public void setRightRecords(List<RightRecord> rightRecords) {
        this.rightRecords = rightRecords;
    }

    public List<HistoryForStudent> getHistoryForStudentList() {
        return historyForStudentList;
    }

    public void setHistoryForStudentList(List<HistoryForStudent> historyForStudentList) {
        this.historyForStudentList = historyForStudentList;
    }

    public RoomForStudent getRoomForStudent() {
        return roomForStudent;
    }

    public void setRoomForStudent(RoomForStudent roomForStudent) {
        this.roomForStudent = roomForStudent;
    }

    public boolean isResult() {
        return result;
    }

    public void setResult(boolean result) {
        this.result = result;
    }

    public int getRemainingSeats() {
        return remainingSeats;
    }

    public void setRemainingSeats(int remainingSeats) {
        this.remainingSeats = remainingSeats;
    }

    public StudyRoom getStudyRoom() {
        return studyRoom;
    }

    public void setStudyRoom(StudyRoom studyRoom) {
        this.studyRoom = studyRoom;
    }

    public String getStudyRoomId() {
        return studyRoomId;
    }

    public void setStudyRoomId(String studyRoomId) {
        this.studyRoomId = studyRoomId;
    }

    public RightToUseStudyRoom getRightToUseStudyRoom() {
        return rightToUseStudyRoom;
    }

    public void setRightToUseStudyRoom(RightToUseStudyRoom rightToUseStudyRoom) {
        this.rightToUseStudyRoom = rightToUseStudyRoom;
    }

    public List<StudyRoom> getStudyRoomList() {
        return studyRoomList;
    }

    public void setStudyRoomList(List<StudyRoom> studyRoomList) {
        this.studyRoomList = studyRoomList;
    }

    public String getSender() {
        return sender;
    }

    public void setSender(String sender) {
        this.sender = sender;
    }

    public Message() {
    }

    public String getMesType() {
        return mesType;
    }

    public void setMesType(String mesType) {
        this.mesType = mesType;
    }
}
